#ifndef STATE_H
#define STATE_H

#include <QObject>

class PaintScene;

class State : public QObject
{
    Q_OBJECT
public:
    explicit State(QObject *parent = 0);

    virtual void added() = 0;
    virtual void deleted() = 0;
    virtual void covered() = 0;
    virtual void returned() = 0;

    virtual PaintScene *getScene() const = 0;

signals:
    void updated();

public slots:

};

#endif // STATE_H
